package com.happyclub.lbjdao;

import com.happyclub.pojo.TbActivityUser;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.Date;

public interface SaveActivityUser extends JpaRepository<TbActivityUser,String> {

    /**
     * @Author 高欢
     * @Description  根据活动主键删除活动用户中间表的数据,(删除活动时需要执行)
     * @Date 10:46 2019/4/6
     **/
    int deleteTbActivityUserByActivityId(String id);

    /**
     * @Author 高欢
     * @Description  找到活动已报名的人数
     * @Date 14:18 2019/4/6
     **/
    long countByActivityId(String activityId);
    /**
     * @Author 高欢
     * @Description  用户取消自己已经报名的活动
     * @Date 15:12 2019/4/6
     **/
    int deleteTbActivityUserByActivityIdAndUserId(String activityId,String userId);

    /**
     * @Author 高欢
     * @Description  用户点击活动进入活动详情页面时,活动报名按钮根据该用户是否已经报名该活动来展示不同的状态(不可点击)
     * @Date 10:40 2019/4/7
     **/
    TbActivityUser findTbActivityUserByActivityIdAndUserId(String activityId,String userId);

    /**
     * @Author 高欢
     * @Description  如果查到ID 则说明存在冲突活动
     * @Date 12:23 2019/4/7
     **/
    @Query(value = "SELECT ID from TB_ACTIVITY where ID IN (SELECT ACTIVITY_ID FROM TB_ACTIVITY_USER where USER_ID = :userId) and ACTIVITY_END_ > :activityBeginTime",nativeQuery = true)
    String ckeckUserActivity(@Param("userId") String userId, @Param("activityBeginTime") Date activityBeginTime);
}
